package com.wuxinwudai.android.beans;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

/**
 * ListRequestResult 用于列表接口请求
 * @author 吾心无待 于 2016年6月22日
 */
public final class ListRequestResult extends JsonRequestResult {
    private JSONObject[] items;

    /**
     * 获取返回的数据行
     * @return 返回数据行
     */
    public JSONObject[] getItems() {
        return items;
    }
    //设置数据项
    private void setItems(JSONObject[] items) {
        this.items = items;
    }
    //私有构造函数
    private ListRequestResult() {}

    /**
     * 根据 http 响应字符串构造 ListRequestResult
     * @param response 响应消息的 JSON 字符串文本
     * @return 返回 ListRequestResult 对象
     * @throws JSONException
     */
    public static ListRequestResult create(String response) throws JSONException {
        JSONObject obj = new JSONObject(response);
        return create(obj);
    }

    /**
     * 根据 JSONObject 对象构造 ListRequestResult
     * @param obj JSONObject 对象
     * @return 返回 ListRequestResult 对象
     * @throws JSONException
     */
    public static ListRequestResult create(JSONObject obj) throws JSONException{
        boolean isOK = obj.getBoolean("ok");
        String msg = obj.getString("message");
        String statusCode = obj.getString("statusCode");
        long time = obj.getLong("time");
        ListRequestResult r = new ListRequestResult();
        r.setOk(isOK);
        r.setStatusCode(statusCode);
        r.setMessage(msg);
        r.setTime(time);
        if (isOK){
            JSONArray jsonArray = obj.getJSONArray("items");
            int length = jsonArray.length();
            JSONObject[] jsonObjects = new JSONObject[length];
            for(int i = 0;i< length ; i++){
                jsonObjects[i] = jsonArray.getJSONObject(i);
            }
            r.setItems(jsonObjects);
        }
        return r;
    }
}
